package com.whately.core.base.fileupload.constant;

import lombok.Getter;
import org.springframework.util.StringUtils;

/**
 * 文件类型
 */
@Getter
public enum FileFormatTypeEnum {
    other("其他"),
    /**
     * image/gif ：gif图片格式
     * image/jpeg ：jpg图片格式
     * image/png：png图片格式
     */
    image("图片"),

    /**
     * application/pdf：pdf格式
     */
    pdf("PDF"),

    /**
     * text/html ： HTML格式
     * text/plain ：纯文本格式
     * text/xml ： XML格式
     */
    text("文本"),


    /**
     *
     */
    audio("音频"),
    video("视频"),
    ;


    String descr;

    private FileFormatTypeEnum(String descr) {
        this.descr = descr;
    }

    public static FileFormatTypeEnum getEnumByCode(String code){
        if(StringUtils.isEmpty(code)){
            return other;
        }

        for(FileFormatTypeEnum e: FileFormatTypeEnum.values()){
            if(e.name().equals(code)){
                return e;
            }
        }
        return other;
    }

    public static FileFormatTypeEnum getEnumByFileSuffix(String suffix){
        if(StringUtils.isEmpty(suffix)){
            return other;
        }
        suffix = suffix.toLowerCase();
        if(FileFormatConstant.IMG_ALLOW_FORMAT_IMG.contains("."+suffix)){
            return image;
        }else if(suffix.equalsIgnoreCase("pdf")){
            return pdf;
        }

        return other;
    }

}
